120 HOME : VTAB 5: PRINT " CTRL O WILL *OMIT* THE CHARACTER THE CURSOR IS ON, DELETING ONE BY ONE!"
130 PRINT : PRINT " NOW, CTRL A WILL *ADD* A SPACE WHEREVER YOUR CURSOR IS, TO INSERT CHARACTERS!"
140 PRINT " IT WILL NOT LET YOU ADD SO MUCH THAT YOU LOSE SOME OFF THE END OF THE LINE."
150 PRINT : PRINT " SO, IF YOU NEED TO ADD A LOT TO A LINE, CTRL B"
160 PRINT " WILL *BREAK* THE LINE, RIGHT WHERE YOUR CURSOR IS, TO GIVE YOU FORTY CHARACTERS OF ROOM."
170 PRINT : PRINT " SPACEBAR AGAIN...";
180 GET C$
190 HOME : VTAB 3: PRINT " JUST REMEMBER, THE CURSOR MUST PASS OVER THE CHARACTERS TO ENTER THEM, JUST LIKE BEFORE."
200 PRINT : PRINT " IF YOU WANT TO ACTUALLY SEND ONE OF THESE CONTROL CODES TO THE OUTPUT PORT, PRESS CTRL K FIRST. "
210 PRINT " THE CURSOR WILL STOP BLINKING, AND THE NEXT CHARACTER WILL GO OUT EXACTLY AS TYPED."
220 PRINT : PRINT " FOR EXAMPLE, CTRL Q WILL BRING MY PRINTER ON LINE IF I SEND IT. SO, TO GET IT TO GO OUT AS CTRL Q FROM MY KEYBOARD, I TYPE CTRL K, CTRL Q."
230 PRINT : PRINT " PRESS THE SPACEBAR - ";
240 GET C$
250 HOME : VTAB 4: PRINT " KEYEDIT RESIDES IN THE SPACE JUST ABOVE $300 IN MEMORY. IT WILL WORK IN APPLESOFT, INTEGER BASIC, AND WITH THE MONITOR."
260 PRINT : PRINT " RESET WILL DISCONNECT KEYEDIT. FROM THE MONITOR, 38:0 3 (RETURN) WILL RECONNECT IT. THEN USE 3D0G TO RETURN IF YOU WERE IN BASIC"
270 PRINT : PRINT " IF MEMORY IS LOST, TYPE 'BRUN KEYEDIT', AND YOU'RE IN BUSINESS."
280 PRINT : PRINT " PLAY WITH IT SOME. IT'S EASY."
290 PRINT : PRINT " NOW PRESS THE SPACEBAR, AND WE'LL TALK ABOUT THE UTILITY BELT - ";
300 GET C$
310 HOME
320 PRINT " * THE APPLESOFT UTILITY BELT *"
330 PRINT : PRINT " TO USE ANY OF THESE UTILITIES, LOAD ";
340 PRINT "THE APPLESOFT PROGRAM INTO MEMORY. WITH";
350 PRINT "THIS DISC MOUNTED IN THE ACTIVE DRIVE, TYPE ";
360 PRINT "IN 'BRUN' FOLLOWED BY THE UTILITY'SNAME."
370 PRINT : PRINT " THEIR NAMES ARE:": PRINT
380 PRINT " VAR@ - LISTS THE VARIABLES USED ";
390 PRINT " IN ALPHA ORDER. "
400 PRINT " REF@ - LISTS ALL THE ENTRY POINTS";
410 PRINT " FOR THE SUBROUTINES AND";
420 PRINT " PROCEDURES IN THE PROGRAM"
430 PRINT " LIT@ - LISTS ALL THE LITERALS ";
440 PRINT " (EVERYTHING BETWEEN QUOTES)";
450 PRINT " IN ALPHA ORDER, WITH LEADING";
460 PRINT " SPACES DELETED."
470 PRINT : PRINT "DEPRESS SPACEBAR TO CONTINUE -";
480 GET C$
490 HOME : VTAB 2: PRINT " WHAT YOU SEE WHEN THE SMOKE CLEARS"
500 PRINT : PRINT " AFTER THE UTILITY IS FINISHED,"
510 PRINT " TYPE IN 'LIST'. IF YOU RAN VAR@,"
520 PRINT " YOU WILL FIND A LIST OF ALL THE"
530 PRINT " PROGRAM VARIABLES, IN ALPHA ORDER,"
540 PRINT " FOLLOWED ON EACH LINE BY A LIST OF"
550 PRINT " THE LINES ON WHICH THE VARIABLE"
560 PRINT " APPEARS. IF THAT LIST IS TOO LONG,"
570 PRINT " A NEW LINE IS STARTED FOR THE SAME"
580 PRINT " VARIABLE. $ AND % ARE INCLUDED IN"
590 PRINT " THE NAMES, AS WELL AS '(', WHICH"
600 PRINT " INDICATES AN ARRAY VARIABLE"
610 PRINT : PRINT " LIT@ WORKS THE SAME, BUT FOR ASCII"
620 PRINT " LITERALS. IF YOU FIND A LINE WITH"
630 PRINT " ONE QUOTE MARK AND A COMMA, THE"
640 PRINT " LITERAL WAS A NULL, (TWO DOUBLE"
650 PRINT " QUOTES RIGHT TOGETHER) OR ELSE"
660 PRINT " ALL SPACES."
680 PRINT : PRINT " SPACEBAR...";
690 GET C$
700 HOME : VTAB 2: PRINT " IN THE LIST GENERATED BY REF@,"
710 PRINT " THE FIRST NUMBER IS THE DESTINATION"
720 PRINT " OF A GOTO OR GOSUB. THE REST OF"
730 PRINT " THE NUMBERS ARE THE LINES WHERE "
740 PRINT " THE GOSUBS OR GOTOS ARE."
750 PRINT " REF@ CAN HANDLE ON ... GOTO, "
760 PRINT " ON ... GOSUB, AND IF ... THEN "
770 PRINT " (LINE NUMBER) ALSO."
780 PRINT : PRINT " ANY OF THE LISTS GENERATED CAN BE "
790 PRINT " SAVED, LOADED, OR LISTED AS AN"
800 PRINT " APPLESOFT PROGRAM. IN FACT, YOU"
810 PRINT " CAN RUN THESE UTILITIES ON THEM."
820 PRINT " FOR EXAMPLE, THE LIST OF VARIABLES"
830 PRINT " FROM A VERY LONG PROGRAM CAN BE"
840 PRINT " LONG AND CUMBERSOME. A SHORTER"
850 PRINT " VERSION CAN BE OBTAINED BY RUNNING"
860 PRINT " VAR@ ON THE LIST ITSELF."
865 PRINT : PRINT " SPACEBAR..";
870 GET C$
880 HOME : VTAB 2: INVERSE : HTAB 15: PRINT " "
890 HTAB 15: PRINT " CAUTIONS "
900 HTAB 15: PRINT " "
910 NORMAL : PRINT : PRINT
920 PRINT " ALL OF THESE UTILITIES REPLACE THE"
930 PRINT " PROGRAM IN MEMORY WITH THE LIST THEY"
940 PRINT " GENERATE. BE SURE YOU HAVE A COPY OF"
950 PRINT " THE PROGRAM. THE PROGRAM IN MEMORY"
960 PRINT " IS DESTROYED!"
970 PRINT
980 PRINT " IF THERE IS INSUFFICIENT ROOM IN"
990 PRINT " MEMORY FOR THE UTILITIES TO OPERATE,"
1000 PRINT " CONTROL IS RETURNED TO BASIC BEFORE"
1010 PRINT " THE BASIC PROGRAM IS DESTROYED."
1020 PRINT " USUALLY IF THIS OCCURS, DELETING A"
1030 PRINT " LINE OR TWO OF REMARKS IS ENOUGH TO"
1040 PRINT " FREE UP THE SPACE NEEDED."
1050 PRINT " IN MORE EXTREME CASES, A TECHNICAL"
1060 PRINT " UNDERSTANDING OF HOW THE UTILITIES"
1070 PRINT " WORK MAY BE NEEDED. DEPRESS SPACEBAR."
1080 GET C$
1090 HOME : VTAB 6: PRINT " THE INFORMATION THAT FOLLOWS ASSUMES A FAIR KNOWLEDGE OF THE APPLE SYSTEM, AND IS NOT STRICTLY NECESSARY FOR THE PROPER OPERATION OF THESE PROGRAMS."
1100 PRINT : PRINT " THE ACTUAL PROBABILITY OF EXCEEDING AVAILABLE MEMORY IS RATHER SMALL."
1110 PRINT : PRINT " DEPRESS SPACEBAR";
1120 GET C$
1130 HOME : PRINT : PRINT " HOW IT WORKS"
1140 PRINT : PRINT " THE UTILITY BELT IS ACTUALLY A SYSTEM OF SIX PROGRAMS. ";
1150 PRINT "THE REAL WORK IS DONE BY VAR, LIT, AND REF. ";
1160 PRINT "THE OTHERS, VAR@,LIT@, AND REF@, ARE LOADERS. ";
1170 PRINT "WHEN THEY ARE RUN, THEY LOAD INTO THE KEYBOARD BUFFER SPACE. ";
1180 PRINT "THEY FIND HIMEM:, SUB- TRACT THE LENGTH OF THE PROGRAM THEY ARELOADING, ($330 OR 816 DECIMAL IN ALL CASES) AND BRUN THE UTILITY ITSELF AT THAT MEMORY LOCATION. "
1190 PRINT " THE UTILITY THEN BUILDS THE TABLES IT NEEDS ABOVE THE BASIC PROGRAM, AND BELOWITS OWN STARTING POINT. ";
1200 PRINT "IF THE TABLES GROW TO WITHIN $330 OF HIMEM:, THEY WILLOVERRUN THE UTILITY IN USE. ";
1210 PRINT "IF THIS OC-CURS, THE UTILITY ISSUES A WARNING BEEP AND RETURNS CONTROL TO BASIC. ";
1220 PRINT : PRINT : PRINT " DEPRESS SPACEBAR."
1230 GET C$
1240 HOME : PRINT : PRINT " IF IT BLOWS UP": PRINT
1250 PRINT : PRINT " TO MAKE SURE THERE IS ENOUGH MEMORY AVAILABLE, THEN, MOVE HIMEM: AS HIGH AS YOU CAN. ";
1260 PRINT "USUALLY JUST USING MAXFILES 1 WILL ACCOMPLISH THAT. ";
1270 PRINT "DELETE ANY EASY TO GET RID OF REMARKS IN THE PROGRAM. ";
1280 PRINT "IN REALLY BAD CASES, DELETE HALF THE PROGRAM, RUN THE UTILITY, RELOAD, AND RUN IT ON THE OTHER HALF. ";
1290 PRINT "IT SHOULD BE IMPOSSIBLE TO WRITE A RUNNABLE PROGRAM THAT HAS THAT LITTLE MEMORY AVAILABLE FOR VARIABLE STORAGE. ";
1300 PRINT "THIS SUGGESTION IS INCLUDED ONLY BECAUSE SOMEBODY WILL. ";
1310 PRINT : PRINT " SPACEBAR ONE MORE TIME - ";
1320 GET C$
1330 HOME : PRINT : PRINT " FINAL SUGGESTION "
1340 PRINT : PRINT " IF YOU HAVE PLENTY OF ROOM IN MEMORY,YOU MAY WANT TO BLOAD THE UTILITY AT A KNOWN LOCATION, MOVE HIMEM: DOWN TO PRO-TECT IT, AND LEAVE IT THERE. ";
1350 PRINT "IT CAN THEN BE CALLED AT ANY TIME FROM BASIC. ";
1360 PRINT "ALWAYS REMEMBER TO SAVE THE BASIC PROGRAM FIRST! "
1370 PRINT " OF COURSE, THE UTILITY WILL STILL STOPBUILDING TABLES $330 BELOW HIMEM:. ";
1380 PRINT "TO CORRECT THAT, AND GET THE MOST MEMORY SPACE, THE FOLLOWING PROCEDURE, USING VAR AS AN EXAMPLE, WILL ALLOW TABLES UP TO HIMEM: WHEN VAR.ABS IS BLOADED."